.\" Copyright (C) 2004 International Business Machines Corporation
.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
.\"
.de Sh \" Subsection
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.TH "Tspi_Key_GetPubKey" 3 "2004-05-25" "TSS 1.1"
.ce 1
TCG Software Stack Developer's Reference
.SH NAME
Tspi_Key_GetPubKey \- get the public key of an object
.SH "SYNOPSIS"
.ad l
.hy 0
.nf
.B #include <tss/platform.h>
.B #include <tss/tcpa_defines.h>
.B #include <tss/tcpa_typedef.h>
.B #include <tss/tcpa_struct.h>
.B #include <tss/tss_typedef.h>
.B #include <tss/tss_structs.h>
.B #include <tss/tspi.h>
.sp
.BI "TSS_RESULT Tspi_Key_GetPubKey(TSS_HKEY " hKey ", UINT32* " pulPubKeyLength ", BYTE** " prgbPubKey ");"
.fi
.sp
.ad
.hy

.SH "DESCRIPTION"
.PP
\fBTspi_Key_GetPubKey\fR gets the public portion of a
given key object.

.SH "PARAMETERS"
.PP
.SS hKey
The \fIhKey\fR parameter is the handle of the key object to unload.
.SS pulPubKeyLength
The \fIpulPubKeyLength\fR parameter receives the length in bytes of the
\fIprgbPubKey\fR parameter.
.SS prgbPubKey
The \fIprgbPubKey\fR parameter receives a pointer to the memory block
containing the public key blob retrieved for the key object referenced
by \fIhKey\fR.

.SH "RETURN CODES"
.PP
\fBTspi_Key_GetPubKey\fR returns TSS_SUCCESS on success, otherwise one of
the following values is returned:
.TP
.SM TSS_E_INVALID_HANDLE
\fIhKey\fR is not a valid handle.

.TP
.SM TSS_E_INTERNAL_ERROR
An internal SW error has been detected.

.TP
.SM TSS_E_BAD_PARAMETER
One or more parameters is bad.

.SH "CONFORMING TO"

.PP
\fBTspi_Key_GetPubKey\fR conforms to the Trusted Computing Group Software
Specification version 1.1 Golden

.SH "SEE ALSO"

.PP
\fBTspi_Key_LoadKey\fR(3), \fBTspi_Key_UnloadKey\fR(3),
\fBTspi_Key_CertifyKey\fR(3).

